package mysql8学习.高级.第10章_索引优化与查询优化;

/**
 * 7.优化分页查询
 * 一般分页查询时，通过创建覆盖索引能够比较好地提高性能。
 * 一个常见又非常头疼的问题就是 limit 200000,10，
 * 此时需要MySQL排序前2000010记录,仅仅返回 200000 - 2000010 的记录,其他记录丢弃，
 * 查询排序的代价非常大。
 * 如 SELECT * FROM student LIMIT 2000000,10;
 *
 * 优化：
 *   在索引上完成排序分页操作,最后根据主键关联回原表查询所需要的其他列内容。
 *  EXPLAIN SELECT * FROM student  t,
 *      (SELECT id FROM student ORDER BY id LIMIT 2000000,10) a
 *  WHERE t.id = a.id;
 *  # 先查询 出 2000000,10的主键  ，在查询出指定的所有字段
 *
 *  如果是自增主键  可以
 *  EXPLAIN SELECT * FROM student WHERE id > 2000000 LIMIT 10;
 *
 *
 */
public class G_优化分页查询 {
}